GameMaker Studio2 字符串加密

为什么要加密

加密并不是为了装逼,不全是为了闭源,而是为了防止熊孩子捣乱。

简单的字符串加密

通过字符串的++–完成字符串加密,步骤倒过来写一遍就是解密。

GML实现代码

函数:scrEncrypt
功能:加密字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/// @description Cricket
/// @简单的加密
/// @param password 密码
/// @param string 要加密的字符串
/// @param base64 是否启用Base64
var _pass = argument[0];
var _str = argument[1];
var _word = "";
// 遍历要加密的字符串
var j = 1;
for(var i=1; i<=string_length(_str); i++)
{
// 将字符和字符相加
var char = ord(string_char_at(_str, i)) + ord(string_char_at(_pass, j));
_word += string(chr(char));
if(j>string_length(_pass))
j = 0;
}
// 返回数据
if(argument[2])
return base64_encode(_word);
else
return _word;

函数:scrDecrypt
功能:解密字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/// @description Cricket
/// @简单的解密
/// @param password 密码
/// @param string 要解密的字符串
/// @param base64 是否启用Base64
var _pass = argument[0];
if(argument[2])
var _str = base64_decode(argument[1]);
else
var _str = argument[1];
var _word = "";
// 遍历要解密的字符串
var j = 1;
for(var i=1; i<=string_length(_str); i++)
{
var char = ord(string_char_at(_str, i)) - ord(string_char_at(_pass, j));
_word += string(chr(char));
if(j>string_length(_pass))
j = 0;
}
// 返回数据
return _word;

使用方法很简单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/// @description Cricket
/// *****************************************************
hello = scrEncrypt("1126390395", "Hello World!", true);
show_debug_message("Base64加密\n" + hello);
word = scrDecrypt("1126390395", hello, true);
show_debug_message("Base64解密\n" + word);
/// *****************************************************
hello = scrEncrypt("Cricket的空间", "http://www.huisai.top", false);
show_debug_message("简单加密\n" + hello);
word = scrDecrypt("Cricket的空间", hello, false);
show_debug_message("简单解密\n" + word);
/// *****************************************************
word = scrDecrypt("http://www.huisai.top", "Düü?¢???é?í?DY??é??ü×?", false);
show_debug_message("简单解密\n" + word);
/// *****************************************************

×

大佬请赐币

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 为什么要加密
  2. 2. 简单的字符串加密
  3. 3. GML实现代码
,